Learn R Programming

bnlearn (version 3.1)

arc operations: Drop, add or set the direction of an arc

Description

Drop, add or set the direction of an arc.

Usage

set.arc(x, from, to, check.cycles = TRUE, debug = FALSE)
drop.arc(x, from, to, debug = FALSE)
reverse.arc(x, from, to, check.cycles = TRUE, debug = FALSE)

Arguments

x
an object of class bn.
from
a character string, the label of a node.
to
a character string, the label of another node.
check.cycles
a boolean value. If TRUE the graph is tested for acyclicity; otherwise the graph is returned anyway.
debug
a boolean value. If TRUE a lot of debugging output is printed; otherwise the function is completely silent.

Value

  • set.arc and drop.arc return invisibly an updated copy of x.

Details

The set.arc function operates in the following way:
  • if there is no arc betweenfromandto, the arcfrom$\rightarrow$tois added.
  • if there is an undirected arc betweenfromandto, its direction is set tofrom$\rightarrow$to.
  • if the arcto$\rightarrow$fromis present, it's reversed.
  • if the arcfrom$\rightarrow$tois present, no action is taken.

The drop.arc function operates in the following way:

  • if there is no arc betweenfromandto, no action is taken.
  • if there is an undirected arc betweenfromandto, it's dropped.
  • if there is a directed arc betweenfromandto, it's dropped regardless of its direction.

The reverse.arc function operates in the following way:

  • if there is no arc betweenfromandto, it returns an error.
  • if there is an undirected arc betweenfromandto, it returns an error.
  • if the arcto$\rightarrow$fromis present, it's reversed.
  • if the arcfrom$\rightarrow$tois present, it's reversed.

Examples

Run this code
data(learning.test)
res = gs(learning.test)

## use debug = TRUE for more information
set.arc(res, "A", "B", debug = TRUE)
drop.arc(res, "A", "B", debug = TRUE)
reverse.arc(res, "A", "D", debug = TRUE)

Run the code above in your browser using DataLab